<?php
/**
 * User: LRZ
 * Date: 2020/3/2
 * Time: 16:36
 */

/**
 *  434.字符串中的单词数
 *
 *  标签：字符串
 *
 *  统计字符串中的单词个数，这里的单词指的是连续的不是空格的字符。
 *  请注意，你可以假定字符串里不包括任何不可打印的字符。
 *
 *  示例:
 *      输入: "Hello, my name is John"
 *      输出: 5
 *
 *  来源：力扣（LeetCode）
 *  链接：https://leetcode-cn.com/problems/number-of-segments-in-a-string
 *  著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

$start = microtime(true);

$s   = '  ';
$res = countSegments($s);

$end = microtime(true);
print_r($res);
printf(' total run: %.2f s<br>' . 'memory usage: %.2f M<br> ', $end - $start, memory_get_usage() / 1024 / 1024);

function countSegments($s)
{
    $res    = 0;
    $s      = trim($s);
    $length = strlen($s);
    for ($i = 0; $i < $length; $i++) {
        if (($i === 0 || $s[$i - 1] === ' ') && $s[$i] !== ' ') {
            $res++;
        }
    }
    return $res;
}